#ifndef RESETDIALOG_H
#define RESETDIALOG_H
#include "global.h"
#include <QDialog>


namespace Ui {
class ResetDialog;
}

class ResetDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ResetDialog(QWidget *parent = nullptr);
    ~ResetDialog();

private slots:
    void on_varify_btn_clicked();

private:
    void initHandlers();
    Ui::ResetDialog *ui;
    void AddTipErr(TipErr te, QString tips);
    void DelTipErr(TipErr te);
    QMap<TipErr,QString> _tip_errs;
    void showTip(QString s, bool b_ok);
    bool checkUserValid();
    bool checkPassValid();
    bool checkEmailValid();
    bool checkVarifyValid();
    bool checkConfirmValid();
    QMap<ReqId,std::function<void(const QJsonObject)>> _handlers;
private slots:
    void slot_reset_mod_finish(ReqId id, QString res, ErrorCodes err);
    void on_yes_btn_clicked();
    void on_no_btn_clicked();
signals:
    void sigSwitchLogin();
};

#endif // RESETDIALOG_H
